#include <stdio.h>
#include <pthread.h>
#include <malloc.h>

struct pthread_data {
    int int_data[10];
    char char_data[10];
    int a;
};

void *func1(void *arg)
{
    struct pthread_data *data = (struct pthread_data *)arg;
    printf("%c\n", data->char_data[0]);
}

int main(void)
{
    pthread_t ptd1;
    struct pthread_data *data = (struct pthread_data *)
        malloc(sizeof(struct pthread_data));
    data->a = 110;
    data->int_data[0] = 10;
    data->int_data[1] = 222;
    data->char_data[0] = 'o';

    pthread_create(&ptd1, NULL, func1, (void *)data);

    pthread_join(ptd1, NULL);
}